← Index
NYTProf Performance Profile   
For ../prof.pl
  Run on Wed Dec 14 15:33:55 2022
Reported on Wed Dec 14 15:40:04 2022

Filename(eval 417)[/Users/ether/.perlbrew/libs/36.0@std/lib/perl5/Sub/Quote.pm:3]
StatementsExecuted 68 statements in 1.51ms
Eval Invoked At/Users/ether/.perlbrew/libs/36.0@std/lib/perl5/Sub/Quote.pm line 3
Sibling evals1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
222133µs104sJSON::Schema::Modern::Document::OpenAPI::::newJSON::Schema::Modern::Document::OpenAPI::new
11114µs43µsJSON::Schema::Modern::Document::OpenAPI::::BEGIN@14.302JSON::Schema::Modern::Document::OpenAPI::BEGIN@14.302
11110µs23µsJSON::Schema::Modern::Document::OpenAPI::::BEGIN@82JSON::Schema::Modern::Document::OpenAPI::BEGIN@82
11110µs21µsJSON::Schema::Modern::Document::OpenAPI::::BEGIN@87JSON::Schema::Modern::Document::OpenAPI::BEGIN@87
1119µs30µsJSON::Schema::Modern::Document::OpenAPI::::BEGIN@143JSON::Schema::Modern::Document::OpenAPI::BEGIN@143
1118µs8µsJSON::Schema::Modern::Document::OpenAPI::::BEGIN@19.303JSON::Schema::Modern::Document::OpenAPI::BEGIN@19.303
1118µs27µsJSON::Schema::Modern::Document::OpenAPI::::BEGIN@77JSON::Schema::Modern::Document::OpenAPI::BEGIN@77
1118µs19µsJSON::Schema::Modern::Document::OpenAPI::::BEGIN@90JSON::Schema::Modern::Document::OpenAPI::BEGIN@90
1116µs14µsJSON::Schema::Modern::Document::OpenAPI::::BEGIN@111JSON::Schema::Modern::Document::OpenAPI::BEGIN@111
1116µs15µsJSON::Schema::Modern::Document::OpenAPI::::BEGIN@138JSON::Schema::Modern::Document::OpenAPI::BEGIN@138
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1{
222µs my $_QUOTED = ${$_[1]->{"\$_QUOTED"}};
311µs my $coerce_for_metaschema_5furi = ${$_[1]->{"\$coerce_for_metaschema_5furi"}};
411µs my $isa_check_for_evaluator = ${$_[1]->{"\$isa_check_for_evaluator"}};
510s my $isa_check_for_errors = ${$_[1]->{"\$isa_check_for_errors"}};
610s my $isa_check_for_json_5fschema_5fdialect = ${$_[1]->{"\$isa_check_for_json_5fschema_5fdialect"}};
711µs my $_UNQUOTED = ${$_[1]->{"\$_UNQUOTED"}};
810s my $isa_check_for_operationIds = ${$_[1]->{"\$isa_check_for_operationIds"}};
910s my $coerce_for_canonical_5furi = ${$_[1]->{"\$coerce_for_canonical_5furi"}};
1011µs my $coerce_for_json_5fschema_5fdialect = ${$_[1]->{"\$coerce_for_json_5fschema_5fdialect"}};
1111µs my $isa_check_for_canonical_5furi = ${$_[1]->{"\$isa_check_for_canonical_5furi"}};
1210s my $isa_check_for_metaschema_5furi = ${$_[1]->{"\$isa_check_for_metaschema_5furi"}};
13 package JSON::Schema::Modern::Document::OpenAPI;
142137µs272µs
# spent 43µs (14+29) within JSON::Schema::Modern::Document::OpenAPI::BEGIN@14.302 which was called: # once (14µs+29µs) by Sub::Quote::_clean_eval at line 14
no warnings 'closure';
# spent 43µs making 1 call to JSON::Schema::Modern::Document::OpenAPI::BEGIN@14.302 # spent 29µs making 1 call to warnings::unimport
15
# spent 104s (133µs+104) within JSON::Schema::Modern::Document::OpenAPI::new which was called 2 times, avg 51.9s/call: # once (123µs+104s) by OpenAPI::Modern::__ANON__[/Users/ether/.perlbrew/libs/36.0@std/lib/perl5/OpenAPI/Modern.pm:79] at line 177 of Sub/Defer.pm # once (10µs+5.60ms) by OpenAPI::Modern::__ANON__[/Users/ether/.perlbrew/libs/36.0@std/lib/perl5/OpenAPI/Modern.pm:79] at line 72 of OpenAPI/Modern.pm
sub new {
16 ($_QUOTED,$_UNQUOTED) if 0;
17# BEGIN quote_sub PRELUDE
18package JSON::Schema::Modern::Document::OpenAPI;
19
# spent 8µs within JSON::Schema::Modern::Document::OpenAPI::BEGIN@19.303 which was called: # once (8µs+0s) by Sub::Quote::_clean_eval at line 24
BEGIN {
2011µs $^H = 2018;
2111µs ${^WARNING_BITS} = "UUUUUUUUUUUUUUUUUUUU";
22113µs %^H = (
23 );
241251µs18µs}
25# END quote_sub PRELUDE
2610s my $invoker = CORE::shift();
2710s my $class = CORE::ref($invoker) ? CORE::ref($invoker) : $invoker;
2811µs if ($class ne "JSON::Schema::Modern::Document::OpenAPI") {
29 if ($Moo::MAKERS{$class}) {
30 if ($Moo::MAKERS{$class}{constructor}) {
31 package JSON::Schema::Modern::Document::OpenAPI;
32 return $invoker->SUPER::new(@_);
33 }
34 Moo->_constructor_maker_for($class);
35 return $invoker->new(@_);
36 } elsif ($INC{"Moose.pm"} and my $meta = Class::MOP::get_metaclass_by_name($class)) {
37 return $meta->new_object(
38 $class->can("BUILDARGS") ? $class->BUILDARGS(@_)
39 : $class->Moo::Object::BUILDARGS(@_)
40 );
41 }
42 }
43 my $args = scalar @_ == 1
44 ? CORE::ref $_[0] eq 'HASH'
4514µs ? { %{ $_[0] } }
46 : Carp::croak("Single parameters to new() must be a HASH ref"
47 . " data => ". $_[0])
48 : @_ % 2
49 ? Carp::croak("The new() method for $class expects a hash reference or a"
50 . " key/value list. You passed an odd number of arguments")
51 : {@_}
52 ;
5312µs if (my @missing = grep !exists $args->{$_}, "evaluator", "schema") {
54 Carp::croak("Missing required arguments: ".CORE::join(', ', sort @missing));
55 }
56111µs213µs my $new = $invoker->JSON::Schema::Modern::Document::SUPER::new($class->FOREIGNBUILDARGS(@_));
# spent 12µs making 1 call to Mojo::JSON::Pointer::new # spent 1µs making 1 call to JSON::Schema::Modern::Document::FOREIGNBUILDARGS
5710s(exists $args->{"canonical_uri"} and ($new->{"canonical_uri"} = scalar do { my $value = do {
5812µs local $Method::Generate::Accessor::CurrentAttribute = {
59 init_arg => "canonical_uri",
60 name => "canonical_uri",
61 step => "coercion",
62 };
6311µs (my $_return),
64 (my $_error), (my $_old_error = $@);
6510s (eval {
66 ($@ = $_old_error),
67 ($_return =
6813µs1349µs$coerce_for_canonical_5furi->($args->{"canonical_uri"})),
69 1
70 } or
71 $_error = CORE::ref $@ ? $@ : "coercion for \"canonical_uri\" failed: ".$@);
7210s ($@ = $_old_error),
73 (defined $_error and CORE::die $_error);
7412µs $_return;
75}
76;
777130µs557µs
# spent 27µs (8+19) within JSON::Schema::Modern::Document::OpenAPI::BEGIN@77 which was called: # once (8µs+19µs) by Sub::Quote::_clean_eval at line 77
(do { no warnings "void"; package Type::Tiny; ((((Scalar::Util::blessed($value) and $value->isa(q[Mojo::URL]))) && (do { local $_ = $value; not defined $_->fragment }))) or Type::Tiny::_failed_check($isa_check_for_canonical_5furi, "__ANON__", $value, "attribute_name","canonical_uri","attribute_step","isa check","mgaca","0","varname","\$args->{\"canonical_uri\"}"); $value }),
# spent 27µs making 1 call to JSON::Schema::Modern::Document::OpenAPI::BEGIN@77 # spent 19µs making 1 call to warnings::unimport # spent 6µs making 1 call to Scalar::Util::blessed # spent 3µs making 1 call to Mojo::URL::fragment # spent 2µs making 1 call to UNIVERSAL::isa
78 $value
79}
80)),
81(exists $args->{"errors"} and ($new->{"errors"} = scalar do { my $value = $args->{"errors"};
82296µs236µs
# spent 23µs (10+13) within JSON::Schema::Modern::Document::OpenAPI::BEGIN@82 which was called: # once (10µs+13µs) by Sub::Quote::_clean_eval at line 82
(do { no warnings "void"; package Type::Tiny; (do { package Type::Tiny; (Ref::Util::XS::is_plain_arrayref($value)) and do { my $ok = 1; for my $i (@{$value}) { ($ok = 0, last) unless (Scalar::Util::blessed($i) and $i->isa(q[JSON::Schema::Modern::Error])) }; $ok } }) or Type::Tiny::_failed_check($isa_check_for_errors, "ArrayRef[InstanceOf[\"JSON::Schema::Modern::Error\"]]", $value, "attribute_name","errors","attribute_step","isa check","mgaca","0","varname","\$args->{\"errors\"}"); $value }),
# spent 23µs making 1 call to JSON::Schema::Modern::Document::OpenAPI::BEGIN@82 # spent 13µs making 1 call to warnings::unimport
83 $value
84}
85)),
8624µs11µs(exists $args->{"evaluator"} and (do { Scalar::Util::weaken($new->{"evaluator"} = scalar do { my $value = $args->{"evaluator"};
# spent 1µs making 1 call to Scalar::Util::weaken
87594µs434µs
# spent 21µs (10+11) within JSON::Schema::Modern::Document::OpenAPI::BEGIN@87 which was called: # once (10µs+11µs) by Sub::Quote::_clean_eval at line 87
(do { no warnings "void"; package Type::Tiny; ((Scalar::Util::blessed($value) and $value->isa(q[JSON::Schema::Modern]))) or Type::Tiny::_failed_check($isa_check_for_evaluator, "InstanceOf[\"JSON::Schema::Modern\"]", $value, "attribute_name","evaluator","attribute_step","isa check","mgaca","0","varname","\$args->{\"evaluator\"}"); $value }),
# spent 21µs making 1 call to JSON::Schema::Modern::Document::OpenAPI::BEGIN@87 # spent 11µs making 1 call to warnings::unimport # spent 1µs making 1 call to Scalar::Util::blessed # spent 1µs making 1 call to UNIVERSAL::isa
88 $value
89}
90392µs230µs
# spent 19µs (8+11) within JSON::Schema::Modern::Document::OpenAPI::BEGIN@90 which was called: # once (8µs+11µs) by Sub::Quote::_clean_eval at line 90
); no warnings 'void'; $new->{"evaluator"} })),
# spent 19µs making 1 call to JSON::Schema::Modern::Document::OpenAPI::BEGIN@90 # spent 11µs making 1 call to warnings::unimport
91(exists $args->{"json_schema_dialect"} and ($new->{"json_schema_dialect"} = scalar do { my $value = do {
92 local $Method::Generate::Accessor::CurrentAttribute = {
93 init_arg => "json_schema_dialect",
94 name => "json_schema_dialect",
95 step => "coercion",
96 };
97 (my $_return),
98 (my $_error), (my $_old_error = $@);
99 (eval {
100 ($@ = $_old_error),
101 ($_return =
102$coerce_for_json_5fschema_5fdialect->($args->{"json_schema_dialect"})),
103 1
104 } or
105 $_error = CORE::ref $@ ? $@ : "coercion for \"json_schema_dialect\" failed: ".$@);
106 ($@ = $_old_error),
107 (defined $_error and CORE::die $_error);
108 $_return;
109}
110;
1112110µs222µs
# spent 14µs (6+8) within JSON::Schema::Modern::Document::OpenAPI::BEGIN@111 which was called: # once (6µs+8µs) by Sub::Quote::_clean_eval at line 111
(do { no warnings "void"; package Type::Tiny; ((Scalar::Util::blessed($value) and $value->isa(q[Mojo::URL]))) or Type::Tiny::_failed_check($isa_check_for_json_5fschema_5fdialect, "InstanceOf[\"Mojo::URL\"]", $value, "attribute_name","json_schema_dialect","attribute_step","isa check","mgaca","0","varname","\$args->{\"json_schema_dialect\"}"); $value }),
# spent 14µs making 1 call to JSON::Schema::Modern::Document::OpenAPI::BEGIN@111 # spent 8µs making 1 call to warnings::unimport
112 $value
113}
114)),
11510s($new->{"metaschema_uri"} = scalar do { my $value = do {
11612µs local $Method::Generate::Accessor::CurrentAttribute = {
117 init_arg => "metaschema_uri",
118 name => "metaschema_uri",
119 step => "coercion",
120 };
12111µs (my $_return),
122 (my $_error), (my $_old_error = $@);
12310s (eval {
124 ($@ = $_old_error),
125 ($_return =
126$coerce_for_metaschema_5furi->((
127 exists $args->{"metaschema_uri"}
12814µs1103µs ? $args->{"metaschema_uri"}
129 : "https://spec.openapis.org/oas/3.1/schema-base/latest"))),
130 1
131 } or
132 $_error = CORE::ref $@ ? $@ : "coercion for \"metaschema_uri\" failed: ".$@);
13310s ($@ = $_old_error),
134 (defined $_error and CORE::die $_error);
13511µs $_return;
136}
137;
1385206µs425µs
# spent 15µs (6+9) within JSON::Schema::Modern::Document::OpenAPI::BEGIN@138 which was called: # once (6µs+9µs) by Sub::Quote::_clean_eval at line 138
(do { no warnings "void"; package Type::Tiny; ((Scalar::Util::blessed($value) and $value->isa(q[Mojo::URL]))) or Type::Tiny::_failed_check($isa_check_for_metaschema_5furi, "InstanceOf[\"Mojo::URL\"]", $value, "attribute_name","metaschema_uri","attribute_step","isa check","mgaca","0","varname","\$args->{\"metaschema_uri\"}"); $value }),
# spent 15µs making 1 call to JSON::Schema::Modern::Document::OpenAPI::BEGIN@138 # spent 9µs making 1 call to warnings::unimport # spent 1µs making 1 call to UNIVERSAL::isa # spent 0s making 1 call to Scalar::Util::blessed
139 $value
140}
141),
142(exists $args->{"operationIds"} and ($new->{"operationIds"} = scalar do { my $value = $args->{"operationIds"};
1432265µs251µs
# spent 30µs (9+21) within JSON::Schema::Modern::Document::OpenAPI::BEGIN@143 which was called: # once (9µs+21µs) by Sub::Quote::_clean_eval at line 143
(do { no warnings "void"; package Type::Tiny; (do { package Type::Tiny; (Ref::Util::XS::is_plain_hashref($value)) and do { my $ok = 1; for my $i (values %{$value}) { ($ok = 0, last) unless do { package Type::Tiny; defined($i) and do { ref(\$i) eq 'SCALAR' or ref(\(my $val = $i)) eq 'SCALAR' } } }; $ok } }) or Type::Tiny::_failed_check($isa_check_for_operationIds, "HashRef[Str]", $value, "attribute_name","operationIds","attribute_step","isa check","mgaca","0","varname","\$args->{\"operationIds\"}"); $value }),
# spent 30µs making 1 call to JSON::Schema::Modern::Document::OpenAPI::BEGIN@143 # spent 21µs making 1 call to warnings::unimport
144 $value
145}
146)),
147(exists $args->{"schema"} and ($new->{"schema"} = $args->{"schema"})),
148 (($args)[0]->{__no_BUILD__} or (
149156µs1104s $new->JSON::Schema::Modern::Document::BUILD($args),
# spent 104s making 1 call to JSON::Schema::Modern::Document::BUILD
150 )),
151 return $new;
152 }
15312µs $$_UNQUOTED = \&new;
154}
155113µs1;
156
157;